summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-01-29 18:27:41 +0100
committerGitHub <noreply@github.com>2023-01-29 18:27:41 +0100
commit3aab57452153c3dfa8591809bc09797da03b44dc (patch)
treefa23d1df540db3206e780fe90b0edf4a94c773f9
parentMerge pull request #9698 from ameerj/texture-pass-handle (diff)
parenttexture_pass: Fix texture descriptors comparisons (diff)
downloadyuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar.gz
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar.bz2
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar.lz
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar.xz
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.tar.zst
yuzu-3aab57452153c3dfa8591809bc09797da03b44dc.zip
-rw-r--r--src/shader_recompiler/ir_opt/texture_pass.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp
index 401aeb89f..d374c976a 100644
--- a/src/shader_recompiler/ir_opt/texture_pass.cpp
+++ b/src/shader_recompiler/ir_opt/texture_pass.cpp
@@ -386,8 +386,10 @@ public:
return Add(texture_buffer_descriptors, desc, [&desc](const auto& existing) {
return desc.cbuf_index == existing.cbuf_index &&
desc.cbuf_offset == existing.cbuf_offset &&
+ desc.shift_left == existing.shift_left &&
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
+ desc.secondary_shift_left == existing.secondary_shift_left &&
desc.count == existing.count && desc.size_shift == existing.size_shift &&
desc.has_secondary == existing.has_secondary;
});
@@ -405,15 +407,20 @@ public:
}
u32 Add(const TextureDescriptor& desc) {
- return Add(texture_descriptors, desc, [&desc](const auto& existing) {
+ const u32 index{Add(texture_descriptors, desc, [&desc](const auto& existing) {
return desc.type == existing.type && desc.is_depth == existing.is_depth &&
desc.has_secondary == existing.has_secondary &&
desc.cbuf_index == existing.cbuf_index &&
desc.cbuf_offset == existing.cbuf_offset &&
+ desc.shift_left == existing.shift_left &&
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
+ desc.secondary_shift_left == existing.secondary_shift_left &&
desc.count == existing.count && desc.size_shift == existing.size_shift;
- });
+ })};
+ // TODO: Read this from TIC
+ texture_descriptors[index].is_multisample |= desc.is_multisample;
+ return index;
}
u32 Add(const ImageDescriptor& desc) {